package day11;
/*本类用于测试StringBuilder与StringBuffer*/
/*需求:通过多次拼接测试String与StringBuilder/Buffer的效率*/
public class TestString3 {
    public static void main(String[] args) {
        //method();//完成通过"+"进行拼接
        method2();//优化"+"进行拼接
    }

    public static void method2() {
        String str = "abcdefghigklmnopqrstuvwxyz";

        /*优化:String--StringBuilder/StringBuffer*/
        StringBuilder sb = new StringBuilder();//创建工具类对象1
        //StringBuffer sb2 = new StringBuffer();//创建工具类对象2

        long t1 = System.currentTimeMillis();
        for (int i = 0;i < 10000;i++){
            /*优化2: + --> append() */
            sb.append(str);
            //sb2.append(str);
        }
        long t2 = System.currentTimeMillis();
        System.out.println(t2-t1);//1502
        System.out.println(sb.toString());
    }

    public static void method() {
        //1.定义字符串
        String str = "abcdefghigklmnopqrstuvwxyz";

        //2.将指定的字符串拼接10000次
        //2.1定义变量,用来保存最终拼接的结果
        String result = "";
        /*3.可以添加一个计时的功能*/
        //3.1获取系统当前时间作为开始时间
        long t1 = System.currentTimeMillis();
        //2.2拼接10000次
        for (int i = 0;i < 10000;i++){
            //2.3累计结果
            result += str;//等效于:result=result+str;
        }
        //3.2获取系统当前时间作为结束时间
        long t2 = System.currentTimeMillis();
        //3.3计算循环拼接累计消耗的时间
        System.out.println(t2-t1);//1502
        //2.4打印结果
        System.out.println(result);
    }
}
